//
//  HomeTableView.m
//  微blog
//
//  Created by Jorn.Wu on 15/8/24.
//  Copyright (c) 2015年 Jorn.Wu(jorn_wza@sina.com). All rights reserved.
//

#import "HomeTableView.h"
#import "HomeTableViewCell.h"
#import "HomeWeiboFrameModel.h"
#import "MJRefresh.h"

typedef void(^BlockType)(NSInteger index);


@interface HomeTableView ()<UITableViewDelegate,UITableViewDataSource>

@end

@implementation HomeTableView

static NSString *weiboCellID = @"weiboCell";


/**
 * 为控制器瘦身，将自己的数据源和代理都设为自己
 */
- (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style{
    if (self = [super initWithFrame:frame style:style]) {
        self.backgroundColor = [UIColor clearColor];
        self.dataSource = self;
        self.delegate = self;
        [self registerCellClass];
        
        
    }
    
    return self;
}

- (void)awakeFromNib{
    self.backgroundColor = [UIColor clearColor];
    self.dataSource = self;
    self.delegate = self;
    [self registerCellClass];
    
}


/**
 * 注册cell类，因为从xib中加载过来，所以要注册nib
 */
- (void)registerCellClass{
    UINib *weiboCellNib = [UINib nibWithNibName:@"HomeTableViewCell" bundle:nil];
    [self registerNib:weiboCellNib forCellReuseIdentifier:weiboCellID];
}


/**
 * 以节为单位
 */
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return self.weiboFrameModelAr.count;
}


/**
 * 每节为一个cell
 */
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return 1;
}


/**
 * 创建cell，将frameModel传过去，里面包含weiboModel信息
 */
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    
    HomeTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:weiboCellID forIndexPath:indexPath];
    HomeWeiboFrameModel *frameModel = self.weiboFrameModelAr[indexPath.section];        //每节存一个cell
    cell.weiboFrameModel = frameModel;
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    
    return cell;
}


/**
 * 根据frameModel里数据设置对应cell的高度
 */
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    
    //得到 weiboView的高度
    HomeWeiboFrameModel *weiboFrameModel = self.weiboFrameModelAr[indexPath.section];
    
    CGRect frame = weiboFrameModel.frame;
    CGFloat height = frame.size.height;
    
    return height + 95;     //85 是边距调节，height是内容高度
}


/**
 * 设置每节的头视图和脚视图的高度，调节美观
 */
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    return 1;
}

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
    return 5;
}


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    
    if ([self.mydelegate respondsToSelector:@selector(tableView:didSelectedIndex:)]) {
        
        [self.mydelegate tableView:self didSelectedIndex:indexPath.section];
    }
  
}




@end
